home *** CD-ROM | disk | FTP | other *** search
- Welcome to GUISpell-1.0 by Loren J. Rittle (l-rittle@uiuc.edu).
-
- [Warning: you must have AmigaOS release 2.04 (with ARexx running) to
- use GUISpell. This program makes use of many 2.04 features and there
- will never be a version of GUISpell that works with pre-2.04.]
-
- GUISpell is a graphical front end to ISpell-3.1ljr (or later) [with
- ARexx server mode/port added by yours truly] or to any spelling
- checker that adheres to the standard ``Spell Checker ARexx Interface''
- as first described in ISpell documentation and more recently in a
- UseNet message posted by myself on `Mon, 23 Mar 92 10:32:37 GMT' to
- comp.sys.amiga.applications (see file, entitled UseNet_posts, which
- contains the three messages I posted to UseNet on the subject).
-
- [This free version of GUISpell, as distributed, only works with
- ISpell-3.1ljr (or later). Since this is the only spelling checker
- that adheres to the standard ``Spell Checker ARexx Interface'' at this
- time, this is no great restriction. The full release doesn't have
- this restriction.]
-
- Let's get the nasty legal stuff out of the way first (PLEASE READ IT
- FOR YOUR SAKE, ESP. IF YOU DECIDE TO USE GUISpell):
- This is the initial public release of GUISpell (known before, during and
- after beta testing as IGadSpell. Sorry Chris, but the name of the ARexx
- port changed from 'IGadSpell' to 'GUISpell'). This software package is
- Copyright © 1991, 1992 Loren J. Rittle (l-rittle@uiuc.edu)
- and may only be used as licensed by the author and copyright holder,
- Loren J. Rittle. Please read the license statement carefully,
- I don't want anyone getting into legal trouble:
-
- [Although this package works closely with ISpell (or some other spell
- checker backend) via ARexx, it is a completely separate product with
- a different original author and different use license.]
-
- This work is Copyright © 1991, 1992 Loren J. Rittle (l-rittle@uiuc.edu)
- This software may be freely distributed and redistributed,
- non-commercially for non-commercial purposes, provided this notice is
- included. You have the right to use the information contained within
- this document/program in any way that you see fit, as long as you
- quote this as the source of the information (e.g. you have the right
- to study the code to GUISpell and see how I do clipboard hooks and
- copy the method or a small bit of code into your own project, but you
- must state that ideas/code snip was taken from GUISpell). With this
- free version of GUISpell, you *don't* have the right to change and/or
- recompile the program from the included source code. You have the
- right to run the included binary. All other rights, most notably
- commercial ones, are reserved by the author. Of main importance, note
- that the right to modify this package in any way and redistribute is
- reserved by the author (this will be the only freely redistributable
- version of GUISpell. I know this version of GUISpell is limited in
- some ways, but this restriction is in place so I can recoup my
- development costs by selling enhanced versions, but yet allow the
- source code to be useful to other people/developers).
-
- Contact the author for other licensing agreements, the full non-freely
- redistributable release as described below and for inclusion into any
- commercial package (I'm all for the idea :-) at:
-
- Internet EMail (preferred for initial contact):
- l-rittle@uiuc.edu
-
- Snail Mail (extra slow because I don't really live here):
- Loren J. Rittle
- 1008 Landing Rd.
- Naperville, IL 60540
-
- DISCLAIMER:
- This software is provided 'as-is', without warranty of any kind,
- either expressed or implied. In no event will I, Loren J. Rittle,
- be liable for direct, indirect, incidental or consequential damages
- or data loss resulting from the use or application of this software.
- The entire risk as to the results and performance of this software
- is assumed by you."
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
- There, how's that for legal mush? Just trying to cover my...
-
- Special thanks to Mike Schwartz (mykes@amiga0.sf-bay.org) for his PD
- GadTools Example that was posted to alt.sources.amiga on `11 Nov 91
- 12:14:43 PST'. Thanks so much Mike, your example inspired me to write
- this!
-
- I also wish to thank Chris A. Wichura (caw@miroc.chi.il.us) for being
- a beta tester and for writing some TurboText macros that play with
- ISpell and GUISpell. Thanks to Eddy Carroll for Small.a (I now use
- cres.o, but thanks). Thanks to Michael Jansson for smallIFFparse (a
- sub-set of IFFparse that is Freely Redistributable) and sample code.
- Thanks to Radical Eye Software for MinRexx (which is used almost
- unchanged in ISpell and with some modification to allow an application
- to send ARexx commands and receive string responses in GUISpell).
-
- Thanks finally to people who worked on the Amiga port of ISpell before
- I received it and added the ARexx Server Mode:
- Luis Soltero
- Tomas Rokicki of Radical Eye Software
-
- This is the first and only scheduled public release (but believed to
- be quite stable). If you like (or at least use) this free version of
- GUISpell, please send [e]mail to me so I can keep track of the number
- of people interested in ISpell and GUISpell related software. The
- [e]mail address you use will be kept and when I announce the full
- version of the software, I'll mail you at that address with details.
-
- Please send information about any programs (or the actual macros) you
- have made or make to interface with this package: ISpell and GUISpell
- (if you look at the examples that I provide, you will note that
- requests to 'IRexxSpell' and 'GUISpell' are intertwined --- it is now
- assumed that if you have ISpell, you will also have GUISpell). Please
- give yourself credit in the macros' header comment.
-
- Currently I have ISpell/GUISpell interfaces for the following programs:
- - CED (3 different sets now!
- * 1 for pre v 2.12 - just ISpell
- * 1 for v 2.12 - just ISpell
- * 1 for v 2.12 - GUISpell w/ ISpell),
- - mg,
- - TurboText (both
- * plain ISpell and
- * GUISpell w/ ISpell),
- - CLI/WShell,
- - idea for a VLT interface using the keystroke trapper (not done yet),
- - rough set for ProVector,
- - GUISpell by itself.
-
- I have heard of a set of macros that play with ProWrite. I would
- like them, so I can include them in this package.
-
- As I updated some of the macros I use with ISpell when I got 2.04
- (because they had some filenaming problems), I will include them
- in this package. Look in rexx/ for GUISpell/ISpell macros.
-
- Currently, GUISpell makes no attempt to fire up ISpell, thus you must
- make sure that it is up and running before GUISpell tries to request
- ISpell services. If you forget to start ISpell, currently the screen
- will flash when GUISpell tries to send ISpell a message. You may
- start up ISpell and retry the GUISpell operation, no harm done...
- This issue is being looked into and is to be addressed in the full
- release.
-
-
- This is a rough manual to GUISpell:
-
- GUISpell - The GUI:
-
- These are brief notes to get you going, play around a bit.
-
- [This public release of GUISpell only supports public screens as
- follows: first try to open on CED's screen if available,
- else try to open on WorkBench screen.
- Other releases will support public screens in a general way and allow
- public screen jumping, etc., but you will have to buy that version.]
-
- [This public release of GUISpell only supports the plain ISpell
- program's ARexx port. The full release supports general spell
- checking programs that adhere to the `Spell Checker ARexx Interface'
- and International ISpell ARexx port.]
-
- Lookup Style-
-
- Spell: uses address 'IRexxSpell' check <current word in user text area>
- to generate a list of replacement words in the list view area
- when a `check' is requested (see below).
- Reg exp: uses address 'IRexxSpell' lookup ...
- Exact: uses address 'IRexxSpell' quickcheck ...
-
- Auto-Clip-
-
- [If turned on]
- Turns on the clipboard hooks! When another application places text
- IFF data into the clipboard, GUISpell will take the new data from the
- clipboard and place it into the user text area. The new data is then
- checked with the currently selected Lookup Style. There is a discriminator
- filter that will not latch new data if it looks like more than one word.
- In cases that are discriminated against, the user must manually invoke
- the `from clip' operation by hitting the From Clip button. This mode works
- great with Snap's ability to snap a word into the clipboard.
-
- Likewise, when the user selects a replacement word from the list view area,
- the word is transferred to the clipboard.
-
- Add button-
-
- Adds the current word in the user text area to the personal dictionary,
- using the address 'IRexxSpell' add ... command of ISpell.
- [If no personal dictionary was found at startup time, then one is created
- by ISpell. Consult ISpell documentation, as I think that there may be
- some differences based upon version. The version I currently use likes to
- create and find the personal dictionary in the directory pointed to by
- env:HOME and then in S: (if env:HOME is not set).]
-
- User text area-
-
- There are many ways that this field can be set. The most direct way is
- for the user to click inside the field and type new data. Standard
- Amiga-Q/Amiga-X handling is performed. Hitting return while the text
- cursor is anywhere in the field will start a spell check with the currently
- set Lookup Style.
-
- Do button-
-
- Alternate way to start a spell check with the currently set Lookup Style.
-
- From Clip button-
-
- The manual way to get data from the clipboard. The new data is then
- checked with the current Lookup Style. There is a discriminator
- filter that will not *check* (note how this is different from the
- discriminator on the auto-clip action) new data if it looks like more than
- one word. In cases that are discriminated against, the user must manually
- invoke the `Do' operation by hitting the Do button.
-
- To Clip button-
-
- The manual way to put data into the clipboard. The current text in the
- user text area is transferred to the clipboard.
-
- List View area-
-
- The user can view available replacement words after a check is completed
- by using the available scoll bar. If a word is clicked upon, then it
- is transferred to the user text area (a REXX call back and an auto-clip action
- may take place also).
-
- This area can be hidden from view with the ZOOM gadget. It is
- restored in the same manner as hiding, another click on the ZOOM
- gadget.
-
- The first entry in the list view is a solo character form the table below
- (OR "yes" or "no", if in exact mode):
- [This is a temp kludge. See future issues below. -Loren]
- [Excerpt taken from man/ispell.1:]
- If the word was found in the main dictionary, or your personal dictionary,
- then the line contains only a '*'. If the word was found through suffix
- removal, then the line contains a '+', a space, and the root word. If the
- word is not in the dictionary, but there are near misses, then the line
- contains an '&', a space, and a list of the near misses separated by
- spaces.
-
- Also, each near miss is capitalized the same as the input word if unless
- such capitalization is illegal; in the latter case each near miss is
- capitalized correctly according to the dictionary. Finally, if the word
- neither appears in the dictionary, and there are no near misses, then the
- line contains only a '#'. This mode is also suitable for interactive use
- when you want to figure out the spelling of a single word.
-
- GUISpell - The ARexx interface:
-
- [This public release of GUISpell only supports one ARexx port name.
- The name of the port is 'GUISpell'.]
-
- CHECK <word>
-
- Inserts <word> into the user's edit window and initiates an async
- spell check upon the word. The list view is updated once the request
- has been satisfied by ISpell. Returns the string, "ok".
-
- NOTE: Returns right after initiating the spell request. GUISpell
- doesn't wait for the return from ISpell. Use the IRexxSpell interface
- if you want to directly spell check a word. Currently, the lookup style
- is always `Spell' (even if the user has set some other mode via the
- GUI).
-
- CURRENTTEXT
-
- Returns, in string form, the current user selected text (i.e. the
- text in the user's edit window).
-
- CHECKCALLBACKHOOK <path:path/.../file.rexx> <parameters>
-
- If a check call back hook is not already present, this ARexx message
- causes GUISpell to install a call back hook that is activated ONCE
- AND ONLY ONCE when a user clicks on a replacement word.
- Returns the string "installed" or "notinstalled" depending upon if
- a hook could be installed.
-
- NOTE: Currently, the rexx call back with parameters should be less than
- 512 bytes of data. If a request to install a call back with more than
- 512 bytes of data is found, it will fail with a "notinstalled" return.
-
- VERSION
-
- A short version string is returned with a list of all supported ARexx
- commands.
-
- EXIT
-
- Causes GUISpell to terminate after replying to the request.
- Returns the string "bye".
-
-
- WARNING: I did find a nasty bug in Snap 1.61 that *will* cause a
- system crash if the IFF text in the clipboard has an ANNO chunk after
- the the data chunk! Mail has been sent to Snap's author, but after a
- month, I still haven't heard a reply. Surprisingly, ASDG's cb2rx has
- a problem (not a crash inducing error) with ANNO chunks in IFF text
- also! Needless to say, I don't put ANNO chunks in the IFF files
- anymore.
-
-
-
- Features in the full non-freely redistributable release (that isn't
- quite done yet):
-
- Ability to specify which public screen to open on at startup time.
-
- Move (jump) between public screens via ARexx and GUI.
-
- Support for more than one GUISpell being open (ARexx port stuff fails
- currently in the free public release) and ability to name the ARexx
- port GUISpell should use.
-
- Ability to specify name of backend spell server's ARexx port to
- connect to a startup time and dynamically via GUI and ARexx.
-
- Ability to start a backend spell server via GUI.
-
- Support for user specified window/zoom coordinates.
-
- More power exposed to ARexx interface.
-
- True `hide window' state (ARexx or commodity HotKey brings back) in
- addition to `zoom window'.
-
- Fix of the List View Solo Character on First Line kludge. That is,
- the list view is only used to list replacement words and the result of
- a spell check is displayed in another (cleaner) manner.
-
- Support, I won't answer any [e]mail related to GUISpell unless you are
- registers. Bug fixes will be as fast as I can make them if you are
- registered.
-
- Full source included as in this version. Unlike this free public
- version, you will have the right to make changes (that may be passed
- around to other registered users of GUISpell if you like). I believe
- in full source disclosure (ah, the one thing about GNU software that I
- really like).
-
-
- If you use ISpell, please give this beast a work out. Feel free to
- tell me what you like and hate about the implementation (proposed and
- actual). New feature ideas will be welcomed. FINAL DISCLAIMER: I am
- under no obligation to provide support or reply [e]mail on anything
- you [e]mail me related to this free public release of GUISpell OR to
- provide the above mentioned full non-freely redistributable version of
- GUISpell. I'm somewhat of a softy and will most likely answer your
- [e]mail and I have every intention of finishing the full release soon,
- but one never knows what might come up.
-
- Regards and thanks for reading this document,
- Loren J. Rittle
- l-rittle@uiuc.edu
- Wed Mar 25 22:19:59 1992
-